Information Updating Management in a Gaming System

ABSTRACT

Updating information in a client-server based gaming system comprising a client gaming machine, a game application server and a central database, by: storing in said central database login information for gaming system units that are logged in to the gaming system; storing updated information in the central database; storing an information update control command comprising an indication of the updated information and an indication of a receiver gaming system unit in the central database; generating an update command message comprising an update command for execution of an update operation in the receiver gaming system unit; determining the communication route to the receiver gaming system unit dependent on the stored login information; communicating the update command message to the receiver gaming system unit dependent on the determined communication route; executing the update command comprised in the update command message in the receiver gaming system unit.

RELATED APPLICATIONS

This application claims priority to, and is a continuation of,co-pending U.S. application Ser. No. 11/830,514, having a filing date ofJul. 30, 2007, which claims priority to Swedish Patent Application No.0601620-8, having a filing date of Jul. 31, 2006, both of which areincorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

The present invention relates in general to a gaming system, and moreparticularly to the updating of information in a gaming system. Thegaming system includes one or more gaming machines, which provide awagering game.

Computerized gaming systems for casino type games of chance have becomemore flexible and efficient with client-server based configurationswhere client gaming machines are connected to a central server and acentral database in a data communications network. The different unitsforming the gaming system need updated information from time to time,and it is natural with this kind of architecture that updatedinformation be distributed over the data communications network.

In recent game software architectures, the game software is modularizedwith a client game module in the client gaming machine and a server gamemodule in a game application server that are both involved when a gameis executed. This results in a tight coupling between different units ofthe gaming system and it is important that updates are put into effectas soon as possible in all affected units.

There is a requirement that the uptime for the gaming machines and otherunits in the gaming system should be affected as little as possible byupdates while, at the same time, it is required that the information isupdated with a minimum of delay. It is known to manage updating bymaking the gaming machines check for updated information on a regularbasis. However, in order to maintain a system that is always updated,this requires checking to be performed frequently, which in turn affectsthe performance of the system as a whole. The data communicationsnetwork is typically designed mainly with regard to the transactionfrequency and the workload for the gaming applications, and there may beno large spare data transmission capacity dedicated for other datacommunication.

There is therefore a need for an efficient information updating methodthat affects the gaming applications to a minimum and that operatessmoothly within a neatly dimensioned data communication network. It isan object of the invention to satisfy this need, or at least to providean alternative to current gaming systems and methods of updating gamingsystem that is of utility.

RELATED ART

The present invention makes use of systems and methods disclosed in theco-pending but not yet published patent application no PCT/SE2006/000559and the international patent publication WO2006/052213 by the sameapplicant as the one for the present application. The content ofPCT/SE2006/000559 and WO2006052213 is herewith incorporated by referencein the present application.

The patent publication US 2004/0235563 A1 shows according to itsabstract a gaming services framework that comprises a set of services,protocols, XML schemas, and methods for providing gaming systemfunctionality in a distributed, network based architecture. Systems andmethods provide a service-oriented framework for gaming and propertymanagement based upon internetworking technology and web servicesconcepts. One aspect of the systems and methods includes a game updateservice that operates to publish service details, receive registrationrequests from gaming machines and other clients, and provides gameupdate services to the gaming machines and other clients.

In more particular, the description describes that the gaming updateservice in various embodiments provides dynamic distribution of new orupdated game content to gaming devices. In some embodiments, the gamingdevice subscribes to a game update event notification and can receivegame updates via either a PUSH method or a PULL method. In the PUSHmethod when a game update is available, the service provider initiatesthe update process with the gaming device to download a new game. In thePULL method the service provider sends an event notification to thegaming device informing it that an update is available. The gamingdevice then initiates the game update by sending a request for the newgame to the service provider. This piece of prior art requires thepublishing of an available update service to gaming machines and asubscription in the shape of a registration for the update service fromthe gaming machine.

Any reference in this specification to the prior art does notconstitute, nor should it be considered, an admission that such priorart was widely known or forms part of the common general knowledge inany jurisdiction, before the priority date of any of the appendedclaims.

BRIEF SUMMARY OF THE INVENTION

Broadly, certain embodiments of the present invention relate to the useof log-in information stored in a central database to send properlyaddressed push messages to game system clients that should be updatedwith regard to content, such as display information or game software,and settings. In an embodiment of the invention the push messagescomprise one or more commands to the receiving game system clients forpredetermined types of updates. The game system clients are devised toexecute the commands and thus perform updates in response to thereceived command messages. In certain embodiments, the updatedinformation is stored in the central database and is read by thereceiving game system units.

According to an aspect of the invention, a method is provided forupdating information in a client-server based gaming system comprising aclient gaming machine, a game application server and a central database.The method comprises the steps of:

storing in said central database login information for gaming systemunits that are logged in to the gaming system;

storing updated information in the central database;

storing an information update control command comprising an indicationof the updated information and an indication of a receiver gaming systemunit in the central database;

generating an update command message comprising an update command forexecution of an update operation in the receiver gaming system unit;

determining the communication route to the receiver gaming system unitdependent on the stored login information;

communicating the update command message to the receiver gaming systemunit dependent on the determined communication route;

executing the update command comprised in the update command message inthe receiver gaming system unit.

In certain embodiments, the update command message comprises anindication of update information to be read from the central database;and the update command initiates, in the receiver unit, the execution ofan operation to read updated information from the central database.

According to a further aspect of the invention, a system for updatinginformation in a client-server based gaming system comprising a clientgaming machine, a game application server and a central database, thesystem comprises:

a storage structure in said central database devised for storing logininformation for gaming system units that are logged in to the gamingsystem;

a storage structure in said central database devised for storing updatedinformation;

a storage structure in said central database devised for storing aninformation update control command comprising an indication of theupdated information and an indication of a receiver gaming system unit;

means for generating an update command message comprising an updatecommand for execution of an update operation in the receiver gamingsystem unit;

means for determining the communication route to the receiver gamingsystem unit dependent on the stored login information;

means for communicating the update command message to the receivergaming system unit dependent on the determined communication route;

means for executing the update command comprised in the update commandmessage in the receiver gaming system unit.

In certain embodiments, the system further comprises means, in thereceiver unit, for execution of an operation to read updated informationfrom the central database in response to an update command.

According to a further aspect of the invention, a method for updatinginformation in a client-server based network gaming system including aplurality of gaming system units arranged in a client-serverarchitecture, comprises:

storing network address information for gaming system units that areconnected to the gaming system;

determining dependent on the stored network address information theaddress of one or more receiver gaming system units to be updated, theone or more receiver gaming system units consisting of less than all ofthe gaming system units;

generating an update command message comprising an update command forexecution of an update operation in the one or more receiver gamingsystem units, the update command comprising a command to adjust anoperating parameter of the receiver gaming system unit and/or a commandto download updated information from a specified source in the gamingsystem, the update command message including the determined address ofthe one or more receiver gaming system units;

communicating the update command message onto a network to which aplurality of servers of the gaming system are connected, and receivingthe update command message at one of the plurality of servers asdetermined by the address in the update command message;

at the server, determining from the address in the update commandmessage whether the server is a said receiver gaming system unit and ifso, executing the command message at the server;

at the server, determining from the address in the update commandmessage whether one or more clients of the server is a said receivergaming system unit and if so, forwarding the command message to the oneor more clients;

executing the update command comprised in the update command message inthe one or more receiver gaming system units.

In certain embodiments, the server is a game application server in whichcritical gaming functions of one or more games provided by the gamingsystem are performed and wherein the one or more clients include atleast one gaming machine terminal, at which a graphical user interfaceGUI and a user input interface function are implemented.

In certain embodiments, the server provides critical gaming functions toa plurality of gaming machine terminals.

In certain embodiments, there are a plurality of servers, that eachprovide critical gaming functions to a plurality of gaming machineterminals.

According to a further aspect of the invention a client-server basednetwork gaming system including a plurality of gaming system unitsarranged in a client-server architecture comprises:

a database storing network address information for a plurality of gamingsystem units that are connected to the gaming system;

an electronic processing system associated with the database, whichreceives update information including an identification of one or morereceiver gaming system units that consist of less than all of the gamingsystem units, stores the update information in the database anddetermines dependent on the stored network address information theaddress of the one or more receiver gaming system units, the electronicprocessing system including a network interface;

a plurality of servers that perform gaming functions for a plurality ofclients including at least one gaming terminal, each server storingaddress information of the clients that it services, the plurality ofservers communicably connected to the network interface of theelectronic processing system over a network;

wherein the electronic processing system generates and sends over thenetwork an update command message addressed to the one or more receivergaming system units comprising an update command for execution of anupdate operation in the one or more receiver gaming system units, theupdate command comprising a command to adjust an operating parameter ofthe receiver gaming system unit and/or a command to download updatedinformation from a specified location in the database;

wherein at least one of the plurality of servers receives the updatecommand message dependent on the address in the update command messageand dependent on the address in the update command message executes thecommand message and/or forwards the command message to the one or moreclients for execution.

In certain embodiments, the server is a game application server in whichcritical gaming functions of one or more games provided by the gamingsystem are performed and wherein the one or more clients include atleast one gaming machine terminal, at which a graphical user interfaceGUI and a user input interface function are implemented.

In certain embodiments, the server provides critical gaming functions toa plurality of gaming machine terminals.

In certain embodiments, there are a plurality of servers, that eachprovide critical gaming functions to a plurality of gaming machineterminals.

According to yet another aspect, the invention may be realised ascomputer program product comprising computer program code portions fordirecting the gaming system units to perform the above mentioned stepsand functions.

Technical effects and advantages of certain embodiments of the presentinvention include elimination of a need for broadcasting updatenotifications as well as the need for on-site adjustments of clients,and enabling real-time update of content and settings from a centralizedsupervisory control site, for example.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

The invention is further explained by means of examples and inconjunction with the accompanying drawings, in which:

FIG. 1 shows an exemplifying embodiment of the invention realised in aclient server configured gaming system with a multiple of servers and amultiple of databases; and

FIG. 2 shows diagrammatically some of the contents of a database in thegaming system of FIG. 1.

FIGS. 3 and 4 show flow diagrams of an update process and login processrespectively, which may be performed within the gaming system shown inFIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to providing a technical solution forupdating information in a gaming system. An aspect of the problem ofproviding such a technical solution may be identified as the achievementof targeted notification of updated content, such as display informationor game software, and settings to game system clients in a gaming systemwith multiple servers and multiple databases.

The figures illustrate the configuration of a gaming system as well as amethod and a computer program product for managing updating inaccordance with certain embodiments of the invention. The describedsystem, method steps and functions are realized by means of computertechnology comprising data processors, memory means, data communicationsinterfaces, control programs, input/output interfaces etc. in a per sewell known manner and the method described herein is an abstractdescription of a process performed by the aforementioned computertechnology to implement certain embodiments of the present invention.

Different functions and features that are specific for certainembodiments of the present invention are preferably realised by means ofspecific combinations and configurations of hardware components and/orcomputer program code portions executed on data processing means, or bymeans of combinations thereof. It is within the knowledge of the skilledperson to select appropriate means and combination of means for therealization of certain embodiments of the invention.

FIG. 1 shows schematically an exemplifying embodiment of a client-serverbased gaming system 100 with an updating management system according toan embodiment of the invention. Those skilled in the relevant arts willappreciate that certain embodiments of the invention will also haveapplication to other client-server gaming systems.

A back office control interface 102 is communicatively coupled to a backoffice database 106. A plurality of game server databases, hereillustrated with a first game server database 112 and a second gameserver database 118, are communicatively coupled to the back officedatabase 106. Each game server database 112, 118 is communicativelycoupled to a plurality of game application servers, where a first groupof game application servers AS11 to AS1n are associated with the firstgame server database 112 and a second group of game application serversAS21 to AS2n are associated with the second game server database 118.

A plurality of client gaming machines GMn, client display terminals DTnand client Site Operator Terminals SOTn are communicatively coupled orare able to be coupled to the game application servers AS11-As1n andAS21-AS2n via a data communications network 130 and optionally also viaa load balancer 131 coupled to the game application servers. The symboln denotes an arbitrary number 1, 2, 3 . . . n. The client gamingmachines GMn, client display terminals DTn and client Site OperatorTerminals SOTn are each referred to herein below as a ‘client unit’.Different gaming system implementing the present invention may omitdisplay terminals, and/or site operator terminals. The game serverdatabases, game application servers and client units are each referredto herein below as a ‘gaming system unit’.

In one configuration, each client unit is associated with a specificgame application server and would normally always be coupled to the samegame application server. In another configuration, each group ofpredetermined client units is associated with a specific group of gameapplication servers and would normally always be directed to the samegroup of game application server. A load balancer may distribute loadbetween game application servers in a group. An embodiment of theinvention is further combined with a system for failover and takeoverwherein the client units are coupled to selected game applicationservers or groups of game application servers according to predeterminedrules and by means of the mentioned load balancer 131.

Communicatively coupled in this text means that there is provided acommunication link over which information signals can be communicatedbetween two coupled units, for example in the form of messages or datastreams. The communication link can for example be continuouslyactivated in an on-line state or be activated on request when a message,e.g. in the shape of a request or a response, is communicated.

The back office control interface 102 is in an embodiment implemented bymeans of a computer terminal with I/O means, for example a keyboard andpoint and click device, and a display device, and comprising computersoftware code that realizes a human-machine interface 103, which may bein the form of an image interface window that is displayed on thedisplay, with fields for presentation of information, fields forentering information and fields for entering command signals. The backoffice control interface 102 comprises database access means 104, forexample through a network interface card to an Ethernet connection or asuitable wireless connection, for accessing the back office database 106with read and write instructions commanded via the interface window.

Updates of information as well as control commands for different gamingsystem units in the gaming system are entered via the back officecontrol interface and are stored in the back office database 106,together with an indication of the identity of the destination gamingsystem units that are affected by or targets for the updates. Examplesof information that may be subject to updating are game menus on gamingmachines, attract movie sequences on gaming machines or on displayterminals, or operational settings such as operating hours and gameconfiguration. Examples of control commands that may be entered areenable or disable gaming system unit, shutdown or adjusting level ofsound volume. Updating control command for controlling the distributionof updates dependent on pre-settable parameters are also entered to theback office database via the back office control interface.

The back office database 106 comprises a database application logiclayer 108, a database storage structure 109 and a command messagegenerator 110. The database storage structure 109 may be in the form ofhard disk magnetic or optical storage units, and may also include CD-ROMdrives or flash memory. The database application logic layer 108 mayinclude any suitable software for forming database management server,for example the Oracle Database products, produced by OracleCorporation.

The information stored in the back office database storage structure 109is shown in more detail in FIG. 2 and includes:

-   -   Login information 10. The login information 10 is information        from the different gaming system units and includes indications        of associated units, i.e. the identities and associations of the        game server databases, game application servers, gaming machines        and other client units such as the mentioned display terminal or        site operator terminal.    -   Updates of information and control commands 11. The updates of        information and control commands 11 for gaming system units are        entered via the back office control interface 102.    -   Updating control commands 12. The updating control commands 12        are commands for controlling the distribution of updates, such        as execute immediately or initiating updates dependent on        predetermined event parameters or on predetermined time        parameters.    -   Identity of the gaming system units for updates 13. Indications        of the identity of the gaming system units that are affected by        or targets for the updates are also stored in the database        storage structure 109, for example in the form of a list of such        identity indications for each update.    -   Historical data 14. Selections of historical data from game        related and other transaction within the gaming system may also        be stored n the database storage structure 109.

While a single database storage structure is shown in FIGS. 1 and 2, theback office database 106 may be implemented if required as a pluralityof physically separate databases, each with its own database managementserver. A common indexing arrangement may be maintained.

The command message generator 110 generates and initiates thetransmission of a push command message in response to and dependent onan update control command entered via the back office control interface.The push command message is generated with content dependent on the typeof the destination gaming system unit. For each type of destinationgaming system unit there is a predetermined type of message.

Each command message comprises a selection of:

-   -   An indication of the type of the receiving destination gaming        system unit, e.g. game application server, gaming machine,        display terminal or site operator terminal or other client        terminal unit.    -   An addressee indication, that is an indication of the receiving        destination gaming system unit. The addressee indication is        taken from the identity of gaming system units for updates 13        information. This may be a specific addressee or a list of        addresses.    -   A command for the receiving destination gaming system unit to        execute, e.g. a command to obtain updated information by        requesting or reading data from an identified source or to turn        on or off a specific function.    -   A first identification indication, identifying a physical or        logical destination unit where updated information is to be        found.    -   A second identification indication, identifying the address of a        set of data or a data file where updated information is to be        found.

This information may be included in fields of one or more commandpackets that form the push command message.

The actual updated information is not included in the push commandmessage, instead the message defines what type of information should beread from the back office database or from some other predetermined datastorage unit. The receiving gaming system unit executes the currentcommand to read or download the updated information and for exampleupdates its setting in real time according to the command.

The command message generator 110 determines from login information inthe back office data how the command message is to be sent to thedefined receiver destination unit. The login information for examplecomprises an IP-address that is registered when the client unit logs into the gaming system. By logging which game application server is usedto log in a client unit there is information in the database thatidentifies to which game application server to send a push commandmessage, for example by placing the address of the game applicationserver in a header of packet(s) forming the push command message. In apreferred embodiment, the command message is then stored by operationsof the back office database application layer 108 in the game serverdatabase that is associated with the defined receiver destination unit.The back office database 106 may directly communicate with the gameserver databases 112, 118 through dedicated communication channels, orthrough a network connection.

The game server databases 112, 118 each comprises a database applicationlogic layer 114 and a database storage structure 115. The informationstored in the game server database has a transactional nature and interalia comprises information pertaining to game sessions, game sessiondata, game session identity, client gaming machine identity, logininformation and configuration information updated as client units arelogged on to the system and for example the game sessions are operatedand executed. This information is preferably cached, i.e. temporarilystored, in the game server database 112, 118 and is continuously orintermittently transmitted and stored in the back office database 106,and then deleted from the game server databases 112, 118.

The database application logic layer 114 further comprises a pushmessage manager 116 with a push message sender. The push message manager116 is devised to detect when a new command message or a record has beeninserted into a command table stored in the game server database 112,118 by the back office database 106 and to determine the destinationunit, and if applicable the identity of the game application server viawhich the destination unit can be communicated with. The push messagesender then sends the command message to the identified game applicationserver where it is received by a push message receiver. In anadvantageous embodiment the push message communication is realised by aninterrupt controlled communication function, e.g. implemented by meansof the product Oracle DBMS_Pipe package. The push message sender writesthe command message to the interrupt controlled communication functionand whereupon the command message is immediately sent over thecommunication line to the game application server. When the commandmessage arrives at the game application server, an interrupt signal isgenerated and the push receiver reads the command message. Noconfirmation of received message is generated in this embodiment.

The game application servers AS11-AS1n,AS21-AS2n each comprises servergaming functions 124, a push message manager 126 and a messagedistributor 128.

The server gaming functions 124 comprises not specifically drawncomponents as described in the mentioned co-pending but not yetpublished patent application no PCT/SE2006/000559 and the publishedpatent application WO2006/052213. In the game application server, aserver game module is embedded behind an application program interfacecalled herein server game API through which all communication of theserver game module takes place. The server gaming functions 124 furthercomprises a server application program interface in short called hereinserver API through which communication with general server gamingfunctions from part of the server game API as well as from part of otherserver functions, and external communication takes place. These generalserver gaming functions are typically critical functions such as arandom number generator, an account service function, a log servicefunction, or other functions that beneficially are shared and used bydifferent specific game application programs.

The server gaming functions 124 is provided with further server functionmodules, in the exemplifying embodiment more specifically comprising aclient handler that is communicatively coupled to the server API. Theclient handler manages communications and specific functions of clientsother than the specific game applications that are executed by theserver game module. Communications with client units takes place via theserver API and a similar client API provided in the client units.

The push message manager 126 comprises a push message receiver, whichreceives push command messages from the push message sender forming partof the push message manager 116 in the game server database 112, 118. Inthe above mentioned embodiment realised with an interrupt controlledcommunication function, an interrupt signal is generated when a messagearrives and the push message receiver reads the command messageimmediately. The push message manager 126 then determines the type ofthe receiving destination gaming system unit (in short: receiver unittype) from the command message content.

If the receiver unit type is a game application server, the command inthe command push message is read and the execution of the command isinitiated.

The command message for game application servers comprises in differentembodiments a selection of the update commands that triggers executionin the receiving game application server:

-   -   1. Clear Cache! The execution of this command triggers the game        application server to clear its cache memory. This is for        example used when a client unit has been moved to a different        game application server. The previous game application server is        the commanded to remove that client from its session cache.    -   2. Get Configuration! This command triggers the download of an        updated configuration parameter.    -   3. Game Update! This command triggers downloading an updated        game configuration from the back office database or from some        other identified and addressed unit where update files are        stored.    -   4. Get Configuration Module! This command triggers downloading        an updated module configuration from the back office database or        from some other identified and addressed unit where update files        are stored.    -   5. Stop Server! The commands in points 5-8 are self descriptive        and are used for maintenance mastered from the back office        control interface.    -   6. Pause Server!    -   7. Resume Server!    -   8. State Dump! This command triggers the dump ad storage of a        current state of the game application server.    -   9. Get Jackpot! This command triggers the download of jackpot        information from a predetermined data source unit.

If the receiver unit type is one or a plurality of client units, thepush message manager 126 initiates forwarding of the push commandmessage to the addressee client unit or units. The game applicationserver determines the connection on the network socket for that clientunit in its session cache, retrieves the relevant data for communicationfrom memory and the sends the information to the client unit on theexisting network socket.

The message distributor 128 forwards the push command message ortransforms it to a new message format with a content dependent on theoriginal push command message and communicates it to the addresseeclient unit or units. In the communication of the push command messagebetween the game application server and the addressee client unit,preferably the normal communications means between server and client isused comprising a confirmation of a received message. In the addresseeclient unit the command in the push command message is read and thecommand is executed.

The gaming system client units, in this exemplifying embodimentcomprising client gaming machines GMn, client display terminals DTn andclient Site Operator Terminals SOTn, each comprises a command messagemanager 132, 136, 140. The command message manager 132, 136, 140comprises a command message receiver devised to receive the push commandmessages from the game application server, a command message readerdevised to read the received command messages and a command initiatordevised to initiate the execution of a command found in the push commandmessage.

The client gaming machines GMn comprises client gaming functions 134that in its turn comprises not specifically drawn components asdescribed in the mentioned co-pending but not yet published patentapplication no PCT/SE2006/000559 and the published patent applicationWO2006052213. In the client gaming machines a client game module isembedded behind an application program interface called client game APIthrough which all communication of the client game module takes place.The client gaming functions 134 further comprises a client applicationprogram interface in short called client API through which communicationwith general client gaming functions from the part of the client gameAPI as well as from the part of other client functions and externalcommunications takes place. The general client gaming functionsinstalled on the client gaming machine are used by different client gamemodules.

The general client gaming functions are designed for assisting inimplementing and executing a specific game on the client gaming machineand are available for the client game module. These general clientgaming functions are in different embodiments a selection of a graphicaluser interface GUI, a cashbox function, a sound function, a user inputinterface function for example buttons, data storage, a printer, a barcode reader and other functions that are related to the performance of agame. The client game module is communicatively coupled to thecorresponding server game module for communicating requests andresponses in order to utilize the general gaming functions provided inthe server. For each game a message protocol for communication betweenthe client module and the server module is generated, the protocol isfor example based on XML and is shared by the client and the server. Theclient gaming machine further comprises a client control module thatcontrols communications and general functions of the client gamingmachine other than the specific game applications and communicates viathe client API.

The command message for client gaming machines comprises in differentembodiments a selection of the update commands that triggers executionin the receiving client machine:

-   -   1. Update Game Configuration! The execution of this command        triggers a request to the game application server for        downloading an updated configuration file and possibly for        downloading updated game files from the back office database or        from some other identified and addressed unit where update files        are stored.    -   2. Enable! This command triggers that the client gaming machine        is enabled for gaming operations. This command can also be        triggered from a site operator terminal coupled to the current        client gaming machine.    -   3. Disable! This command triggers that the client gaming machine        is disabled for gaming operations. This command can also be        triggered from a site operator terminal coupled to the current        client gaming machine.    -   4. Master Enable! This command from the back office control        interface overrides any enable or disable commands from the site        operator terminal.    -   5. Master Disable! This command from the back office control        interface overrides any enable or disable commands from the site        operator terminal.    -   6. Shutdown! This command triggers full shutdown of the client        gaming machine hardware.    -   7. Update Music Volume! This command triggers an update and        adjustment of the music volume according to a music control        parameter for example comprised in the command or downloaded        from a predetermined database table.    -   8. Status Request! This command triggers a response from the        client gaming machine with request for updating a database table        with predetermined status parameter values and a time stamp.    -   9. Update Operating Hours! This command triggers an update and        adjustment of the operating hours when the client gaming machine        is open for gaming operations according to an operating hours        parameter for example comprised in the command or downloaded        from a predetermined database table.    -   10. Update Adverts! This command triggers a request to the game        application server for downloading updated advertisement content        from the back office database or from some other identified and        addressed unit where update files are stored.    -   11. Update SOT IP Address! This command triggers update of the        IP address of the site operator terminal to which the client        gaming machine should be associated and coupled with. The update        is preferably downloaded from the back office database.    -   12. Update IVT Configuration! This command triggers update of        the configuration of the client machine. The update is        preferably downloaded from the back office database.

The client display terminals DTn further comprises display functions 138devised to display predetermined video or image content stored in theclient display terminal or received or read as a stream of data fromsome other gaming system unit.

The command message for client display terminals comprises in differentembodiments a selection of the update commands that triggers executionin the receiving display terminal:

-   -   1. Enable! This command triggers that the client display        terminal is enabled for displaying video or image content.    -   2. Disable! This command triggers that the site operator        terminal is disabled for displaying video or image content.    -   3. Update Display Content! This command triggers a request to        the game application server for downloading updated video or        image content from some identified and addressed unit where        display information is stored or generated.

The client site operator terminal SOTn further comprises site operatormanagement functions devised to support site operator management, forexample functions for monitoring status, properties or statistics of agroup of client gaming machines at a venue and control managementfunctions for controlling some predetermined controllable functions ofthe group of client gaming machines.

The command message for site operator terminals comprises in differentembodiments a selection of the update commands that triggers executionin the receiving site operator:

-   -   1. Enable! This command triggers that the site operator terminal        is enabled for monitoring and controlling an associated group of        client gaming machines.    -   2. Disable! This command triggers that the site operator        terminal is disabled for monitoring and control operations.    -   3. Update Operating Hours! This command triggers an update and        adjustment of the operating hours when the site operator        terminal is open for monitoring and controlling the associated        group of gaming machines according to operating hours parameters        for example comprised in the command or downloaded from a        predetermined database table.    -   4. Update New Messages! This command triggers a request to the        game application server for downloading updated messages from        the back office database or from some other identified and        addressed unit where update files are stored.    -   5. Status Request! This command triggers a response from the        client site operator terminal with request for updating a        database table with predetermined status parameter values and a        time stamp.

FIG. 3 shows schematically a flow chart of steps in an exemplifyingembodiment of a method for updating management in a client-server basedgaming system according to certain embodiments of the invention. Thenumbered list below and the arrangement of steps in FIG. 3 is merely forreference purpose and does not necessarily mean that the steps areperformed in a sequence corresponding to the indicated numerical order.

At step 200, updates of information, such as updates of game files orsettings, are entered via the back office control interface 102 usingthe human-machine interface 103. For example, the back office controlinterface 102 may allow parameters to be set using fields displayed tothe operator and allow files to be marked for storage in the back officedatabase 106. The files may be stored locally, available on removablestorage such as a CD or a flash drive, or able to be downloaded througha network connection to a local or wide area network (not shown). Theupdates are entered together with an indication of the gaming systemunits that are affected by and therefore targets for the update.

At step 202, the updates are communicated from the back office controlinterface to the back office database 106 by the database access means104, and caused to be stored in the database storage structure 109 ofthe back office database 106 by the database application logic layer108.

At step 203, command message comprising commands for update operationsis generated by command message generator 110 in the databaseapplication logic layer 108.

At step 204, it is determined from login information stored in the 5database storage structure 109 how the command message should be sent tothe target receiver units. That is it is determined via which gameserver database 112, 118 and via which game application server thecommand message should be sent.

At step 205, the command message is sent by the back office database 106under the control of the command message generator 110, for example byproviding the message to an Ethernet network card for transmission ontoan Ethernet cable.

At step 206, the command message is received and stored in the databasestorage structure 115 of the determined game server database 112, 118under the control of the database application logic layer 114 of thatgame server database. The storage may suitably be in random accessmemory, which may if required be in the form of non-volatile randomaccess memory, for example by being battery-backed.

At step 207, the database application logic layer 114 of the game serverdatabase 112, 118, in response to receipt of the command message,generates a push command message from the stored command and sends thecommand, for example by providing the command to a network card. Thepush command is addressed to the relevant game application server(s)dependent on the address information in the command.

At step 208, the push command message is received by the push messagemanager 126 of relevant game application server(s) and stored at thegame application server for execution or pushing to a client unit.

At step 209, the push message manager 126 of the game application serverdetermines the receiver unit type from the command message content.

At step 210, if the receiver unit type is a game application server, thegame application server reads the command in the command message and theexecution of the command is initiated.

At step 211, if the receiver unit type is a client unit, the messagedistributor 128 of the game application server determines communicationdata for the receiver client unit, which depending on the particularimplementation of the gaming system 100 may be in a differentcommunication format, and communicates the command message to thereceiver client unit.

At step 212, the receiver client unit reads the command in the commandmessage and the execution of the command is initiated.

The execution of the command generates the update of a local parameteror initiates download of updated information from the back officedatabase or from some other indicated data storage unit.

The update is carried out in real time as soon as the update is firstentered via the back office control interface. If a receiver unit is notlogged in at the moment, the update command message is sent immediatelyupon login.

FIG. 4 shows a flow diagram of a process to generate the logininformation, in particular the process to allocate an IP address to eachdevice in the gaming system 100. The actual address used, may dependingon the size of the network may be an abbreviated address and otheraddress allocation methods may be used. The flow diagram assumes animplementation in which the client units are connected to theapplication servers through an Ethernet network, the applicationsservers are similarly connected to the game server databases 112, 118through an Ethernet network and the game server databases 112, 118 eachhave a direct communication line with the back office database 106.Those skilled in the relevant arts will appreciate that modifications tothe method or alternative methods may be used, depending in part on theparticular gaming system implemented. Again, the recitation of steps ina particular order below does not imply that the steps are performed inthat order.

Each client unit, when connected to the data communications network 130,communicates an identifier onto the network for receipt by anapplication server. This identifier may be a hardware address such as anEthernet address.

At step 300, the application server or group of applications serversdetermined by the load balancer 131 or otherwise to receive messagesfrom the client unit, receives and stores the Ethernet address inmemory.

At step 301, the application server communicates the Ethernet addressesto the game server database 112, 118 with which they are associated.

At step 302, the application server, which has its own Ethernet card,communicates its Ethernet address onto the Ethernet network for receiptby a game server database 112, 118.

At step 303, the game server databases 112, 118 receive the store theaddresses of the application servers and client units.

At step 304, the game server databases 112, 118 forward the addresses tothe back office database 106.

At step 305, the back office database 106 uses its database applicationlogic layer 108 to receive the addresses of the application servers andclient units.

At step 306, the database application logic layer 108 of the back officedatabase 106 allocates IP addresses to each Ethernet address andmaintains a list of addresses.

At step 307, the allocated addresses are communicated by the back officedatabase to the game server databases 112, 118.

At step 308, the game server database 112, 118 receives, optionallystores and forwards the allocated IP addresses to the applicationservers.

At step 309, the application servers receive their own IP-addresses andstore them for use in recognising communications to them on the Ethernetnetwork. The application servers also store the IP addresses for eachclient unit that the server services and forwards the addresses on tothose client units.

At step 310, the client units receive and store their allocated IPaddress.

The client units and application servers may then be interrogated orsend information regarding their type to the back office database.

The invention has been described by way of exemplifying embodiments, butnaturally there are various manners of realising the invention withinthe scope of the claims.

The foregoing description of embodiments of the invention has beenpresented for purposes of illustration and description. It is notintended to be exhaustive or to limit the invention to the precise formdisclosed, and modifications and variations are possible in light of theabove teachings or may be acquired from practice of the invention. Theembodiments were chosen and described in order to explain the principalsof the invention and its practical application to enable one skilled inthe art to utilize the invention in various embodiments and with variousmodifications as are suited to the particular use contemplated.

Those skilled in the art will appreciate that the embodiments disclosedherein may be applied to the formation of any virtual machine computingsystem. Certain features of the embodiments of the claimed subjectmatter have been illustrated as described herein; however, manymodifications, substitutions, changes and equivalents will now occur tothose skilled in the art. Additionally, while several functional blocksand relations between them have been described in detail, it iscontemplated by those of skill in the art that several of the operationsmay be performed without the use of the others, or additional functionsor relationships between functions may be established and still be inaccordance with the claimed subject matter. It is, therefore, to beunderstood that the appended claims are intended to cover all suchmodifications and changes as fall within the true spirit of theembodiments of the claimed subject matter.

1. A method for updating information in a client-server based networkgaming system including a plurality of gaming system units, the methodcomprising: determining an address of one or more receiver gaming systemunits to be updated, the one or more receiver gaming system unitsconsisting of less than all of the gaming system units; generating anupdate command message comprising: a control command having a type fieldindicating whether the one or more receiver gaming system units are oneof an application server or a client gaming machines wherein the clientgaming machine are remote to the application servers and connectedthereto via a data communications network; and an update command todownload updated information from a specified source in the gamingsystem including the determined address of the one or more receivergaming system units, and executing an update operation at the one ormore receiver gaming system units; determining, at an applicationserver, from the control command whether the application server is asaid receiver gaming system unit, and determining from the controlcommand message whether the one or more client gaming machines of theapplication server is a said receiver gaming system unit and if so,forwarding the update command to the one or more client gaming machines;executing the update command comprised in the update command message inthe one or more receiver gaming system units.
 2. The method of claim 1,wherein the server is a game application server in which critical gamingfunctions of one or more games provided by the gaming system areperformed and wherein the one or more clients include at least onegaming machine terminal, at which a graphical user interface GUI and auser input interface function are implemented.
 3. The method of claim 2,wherein the server provides critical gaming functions to a plurality ofgaming machine terminals.
 4. The method of claim 3, wherein there are aplurality of servers, that each provide critical gaming functions to aplurality of gaming machine terminals.
 5. A client-server based networkgaming system including a plurality of gaming system units arranged in aclient-server architecture, the gaming system comprising: a databasestoring network address information for a plurality of gaming systemunits that are connected in the gaming system; an electronic processingsystem associated with the database, which receives update informationincluding an identification of one or more receiver gaming system unitsthat consist of less than all of the gaming system units, stores theupdate information in the database and determines dependent on thestored network address information an address of the one or morereceiver gaming system units, the electronic processing system includinga network interface; a plurality of application servers that performgaming functions for a plurality of client gaming machines including atleast one gaming terminal, each application server storing addressinformation of the client gaming machines that it services, theplurality of application servers communicably connected to the networkinterface of the electronic processing system over a network; whereinthe electronic processing system generates and sends over the network anupdate command message addressed to the one or more receiver gamingsystem units for execution of an update operation in the one or morereceiver gaming system units, the update command message comprising: acontrol command having a type field indicating whether the one or morereceiver gaming system units are one of an application server or one ofa client gaming machine wherein the client gaming machines are remote tothe application server and connected thereto via a data communicationsnetwork; and an update command to download updated information from aspecified location including the determined address of the one or morereceiver gaming system units, and executing an update operation at theone or more receiver gaming system units; wherein at least one of theplurality of application servers receives the update command messagedependent on the address in the update command message when theapplication server itself is a said receiver gaming system unit, anddependent on the address in the update command message forwards thecommand message to the one or more client gaming machines for executionwhen the one or more client gaming machines of the application server isa said receiver gaming system unit, and the update command comprised inthe update command message is executed in the one or more receivergaming system units.
 6. The gaming system of claim 5, wherein the serveris a game application server in which critical gaming functions of oneor more games provided by the gaming system are performed and whereinthe one or more clients include at least one gaming machine terminal, atwhich a graphical user interface GUI and a user input interface functionare implemented.
 7. The gaming system of claim 6, wherein the serverprovides critical gaming functions to a plurality of gaming machineterminals.
 8. The gaming system of claim 7, wherein there are aplurality of servers, that each provide critical gaming functions to aplurality of gaming machine terminals.